Mechanically Verifying Correctness of CPS Compilation

نویسنده

  • Ye Henry Tian
چکیده

In this paper, we study the formalization of one-pass call-by-value CPS compilation using higher-order abstract syntax. In particular, we verify mechanically that the source program and the CPS-transformed program have the same observable behavior. A key advantage of this approach is that it avoids any administrative redexes thereby simplifying the proofs about CPS-translations. The CPS translation together with its correctness proof is implemented and mechanically verified in the logical framework Twelf.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modeling and Verifying of CPS Component Services Based on Hybrid Automata

In recent years, the modeling and verifying of Cyber-Physical System (CPS) is now an important aspect of CPS researches. Because of the CPS’ complex architecture, it may suffer from the state-space explosion problem when we verify CPS models by model checking methods. Therefore, we offer a method which models CPS with Component Services. The method treats the CPS components as a service provide...

متن کامل

Statically Verified Type-Preserving Code Transformations in Haskell

The use of typed intermediate languages can significantly increase the reliability of a compiler. By type-checking the code produced at each transformation stage, one can identify bugs in the compiler that would otherwise be much harder to find. We propose to take the use of types in compilation a step further by verifying that the transformation itself is type correct, in the sense that it is ...

متن کامل

Promising Compilation to ARMv8 POP

We prove the correctness of compilation of relaxed memory accesses and release-acquire fences from the “promising” semantics of Kang et al. [12] to the ARMv8 POP machine of Flur et al. [9]. The proof is highly non-trivial because both the ARMv8 POP and the promising semantics provide some extremely weak consistency guarantees for normal memory accesses; however, they do so in rather different w...

متن کامل

Mechanically Verifying a Family of Multiplier Circuits

A methodology for mechanically verifying a family of pa-rameterized multiplier circuits, including many well-known multiplier circuits such as the linear array, the Wallace tree and the 7-3 multi-plier is proposed. A top level speciication for these multipliers is obtained by abstracting the commonality in their behavior. The behavioral correctness of any multiplier in the family can be mechani...

متن کامل

Type - Preserving CPS Translation of Σ and Π Types is Not Not

Dependently typed languages like Coq are used to specify and prove functional correctness of source programs, but what we ultimately need are guarantees about correctness of compiled code. By preserving dependent types through each compiler pass, we could preserve source-level specifications and correctness proofs into the generated target-language programs. Unfortunately, type-preserving compi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006